perm filename H7.YEL[LOU,BGB] blob sn#100992 filedate 1974-12-08 generic text, type T, neo UTF8
TRANS	S2	     12.83      1.00      7.20    -89.89      3.49       .22
TRANS	SCE	     30.11     34.50      5.26    149.47     90.00     61.28
TRANS	LH	     20.36     30.95      5.62    180.00       .00     90.00
TRANS	S3	     12.83     31.22      5.70    -89.87      3.90      1.91
TRANS	T1	     30.74     31.25      6.00    142.43     87.81   -127.59
TRANS	S4	     12.84     30.84      4.52    -90.97      1.91      7.80
TRANS	SH	      8.55     32.37     12.12   -141.21     82.31   -159.99
TRANS	OHP	      7.14     30.76      6.59       .00     90.00       .00
TRANS	SL	      8.46     32.44      8.64    173.29     89.11    154.47
TRANS	PIN	     28.83     27.19      3.85   -103.18     85.71    -13.36
TRANS	H1	     20.00     30.00      1.00    180.00     90.00       .00
TRANS	SCRW	     30.07     36.13      5.50   -180.00     90.00       .00
TRANS	SCT	     30.10     34.50      3.73    154.35     87.27     66.42
TRANS	R	     20.24     32.40      1.00       .00     90.00       .00
TRANS	RH	     20.00     30.00      5.00       .00     90.00       .00
TRANS	T	     20.00     30.00      1.00    180.00     90.00       .00
TRANS	S1	     12.90     31.14      8.20    -90.21      2.97     -2.43
TRANS	SCREW	      8.41     32.30     10.25   -152.69     87.04   -171.75


VECT	V	       .00     -2.00       .00
VECT	X	      1.00       .00       .00
VECT	ND	       .00       .00      3.00
VECT	Y	       .00      1.00       .00
VECT	HA	      1.00       .00       .00
VECT	Z	       .00       .00      1.00
VECT	F	       .00       .00    -60.00
VECT	SA	       .00     -1.00      3.00
VECT	SD	      1.00      1.00       .50
VECT	MV	   -100.00       .00       .00
VECT	FV	       .00       .00   -300.00
VECT	NIL	       .00       .00       .00
DEFINE	MOVE_TO_GRASP	
OPEN 2
MERGE
MOVE LH
CHANGE Y -4 NIL 0 0

DEFINE	Y_PART	
BEGIN YHINGE
MOVE_TO_GRASP
PROCEED
TAKE_IT
PROCEED
GIVE_AND_GO
PROCEED
SS
SCRW S1
ANOTHER
SCRW S2
SB
PROCEED
GET_RIGHT
PROCEED
LEAVE_RIGHT
PROCEED
SCREW_IT
PARK

DEFINE	TAKE_IT	
GO LH
CLOSE -1

DEFINE	GIVE_AND_GO	
OPEN 2
CHANGE Y -3 NIL 0 0
CLOSE -1
MERGE
MOVE OHP
PLACE
SAVE TOP

DEFINE	SS	                ;PICKS UP THE SCREWDRIVER
CHANGE Z 2 NIL 0 0
OPEN 3
MERGE
MOVE T1                         ;WHERE THE TOOL IS
VECT FV
0 0 -60
STOP FV NIL
FREE 1 X
CHANGE Z -2 NIL 0 100           ;PLACE HAND ON TOP OF TOOL
VECT FV
0 0 -300
FORCE FV NIL
VECT FV
0 0 -100
STOP FV NIL
SPIN 1 Z
CHANGE Z -1 NIL 0 0             ;PUSH THE HAND DOWN ON THE TOOL
CLOSE 1
NNUL
CONO ND SD 13 0 0
CHANGE Z 4 NIL 0 0              ;PICK IT UP
NNUL
CONO SA SD 13 0 0
DEPART NIL
MOVE SCRW                       ;AND GO THE THE DISPENSER

DEFINE	SB	
CONO ND SD 13 0 0
DEPART HA
GOTO T1 Z 1 NIL 0
VECT FV
0 0 -300
STOP FV NIL
CONO ND SD 13 0 0
CHANGE Z -3 NIL 0 100
OPEN 3
NNUL
CHANGE Z 3 NIL 0 100

DEFINE	SCRW	H               ;STARTS HOLDING SCREWDRIVER AT DISPENSER
                                ;PICKS UP A SCREW AND DRIVES IT INTO HOLE H
FLUSH
GET_A_SCREW
CONO HA SD 13 0 0
NNUL
MOVE H Y .5 NIL 0
FIND H
DRIVE_IT
FLUSH
LEAVE

DEFINE	GET_A_SCREW	
ASSIGN SCREW 4                  ;NUMBER OF TIMES TO TRY TO PICK UP SCREW
JUMP 2
CONO ND SD 13 0 0
L4: GO SCRW
PLACE
VECT F
0 20 -100
FREE 2 Y Z
FORCE F NIL
NNUL
SCREW -20
MERGE
DRIVE 1 0 30                    ;PUSH THE SCREWDRIVER AGAINST THE DISPENSER
                                ;AND DOWN ON THE SCREW AS IT ROTATES
VECT FV
0 0 -50
STOP FV NIL
VECT FV
0 0 -100
FORCE FV NIL
WOBBLE .2
CHANGE Z -.5 NIL 0 10           ;PUSH THE SCREWDRIVER INTO THE SCREW HEAD
FREE 2 X Y
CONO ND SD 13 0 0
CHANGE Z .20 NIL 0 120          ;LIFT THE SCREW UP OVER THE END STOP
NNUL
FREE 1 X
VECT F
0 -20 0
STOP F NIL
CONO ND SD 13 100 100
GO SCE                          ;AND TAKE IT OUT
SKIPN 23
JUMP L3                         ;NO EXCESSIVE FORCE SO PROCEED
ASSIGN PULL 3                   ;TIMES TO TRY PULLING OUT
L2: WOBBLE .5
VECT FV
0 0 100
STOP FV NIL
CHANGE Z 1 NIL 0 0
SKIPN 23
JUMP L5                         ;CAME OUT FINE
SOJG PULL L2                    ;TOO MUCH FORCE TRY AGAIN
JUMP L6                         ;DO IT BY HAND
L5: SOJG SCREW L4
JUMP L6
VECT F
0 0 -60
L3: STOP F NIL                  ;DRIVER CAME OUT CHECK IF IT HAS SCREW
CONO ND SD 13 0 0
GO SCT
SKIPE 23
JUMP L7                         ;ALL OK GO TO HOLE
NNUL
GOTO SCRW                       ;GO BACK TO BEGINNING
SOJG SCREW L4
L6: WAIT FREE THE SCREW DRIVER PUT A SCREW ON ITS END AND PROCEED
L7: ASSIGN LAND 12
ASSIGN BOTTOM 3

DEFINE	DRIVE_IT	
FREE 3 X Y Z
VECT FV
-60 0 0
VECT MV
-100 0 0
STOP NIL MV
FORCE FV NIL
NNUL
CONO ND SD 13 0 0
SCREW -60
MERGE
CHANGE NIL 0 NIL 0 150          ;AND DRIVE IN THE SCREW
SKIPE 23
JUMP 1
ASSIGN OUT 10

DEFINE	LEAVE	
L1: FREE 1 Y
SPIN 2 X Z
WOBBLE 0.5
CONO ND SD 13 0 0
CHANGE X .3 NIL 0 20            ;PULL THE DRIVER OUT A LITTLE
VECT FV
100 0 0
STOP FV NIL
NNUL
CONO ND SD 13 0 0
CHANGE X 1 NIL 0 50             ;AND THEN A BIT MORE BUT STOP IF STUCK IN PUMP
SKIPN 23
JUMP L8
SOJG OUT L1
WAIT FREE THE SCREW DRIVER AND PROCEED
L8: JUMP 1

DEFINE	FIND	T               ;PUTS THINGS IN HOLES
FLUSH
VECT FV
-50 0 0
SEARCH .1 X Y
CONO ND SD 13 0 0
GO T Y .5 NIL 0                 ;GO TO THE HOLE
RESTORE TOP 0
VECT FV
-100 0 0
STOP FV NIL
CHANGE X -1 NIL 0 100           ;FIND THE SURFACE
SAVE HINGE
L1: GO T X .2 NIL 0             ;GOTO THE HOLE
RESTORE HINGE 0
STOP FV NIL
NNUL
CHANGE X -.6 NIL 0 60           ;TRY TO GO DOWN WITHOUT MEETING RESISTANCE
SKIPN 23
JUMP L4
AOJ 1
SOJG LAND L1
JUMP L2
L2: WAIT PUT THE PIN IN THE HOLE AND PROCEED
L4: JUMP 1

DEFINE	ANOTHER	
DEPART HA
CONO SA SD 13 0 0
MOVE SCRW

DEFINE	GET_RIGHT	
OPEN 1
MOVE R
PLACE
CHANGE Z .1 NIL 0 0
CHANGE Y 1 NIL 0 100
PLACE
CHANGE Z .1 NIL 0 0
CLOSE .2
GO RH

DEFINE	LEAVE_RIGHT	
OPEN 1
CHANGE Y -4 NIL 0 0

DEFINE	SCREW_IT	
FLUSH
OPEN 2
MERGE
MOVE PIN
PLACE
CLOSE -1
FREE 2 X Y
SPIN 2 X Y Z
CHANGE Z 2 NIL 0 100
MOVE SCREW
SEARCH .05 Z Y
L: GO SCREW
FREE 2 X Y
VECT FV
0 0 -150
STOP FV NIL
CHANGE Z -.5 NIL 0 100
SKIPE 23
AOJ L
OPEN 2
NNUL
GO SH
CLOSE -1
NNUL
STOP FV NIL
GO SL
SKIPE 23
JUMP 1
PROCEED
NNUL
L1: GO SH
STOP FV NIL
GO SL
SKIPE 23
JUMP L1

DEFINE	Y	
SS
SCRW S1
ANOTHER
WAIT
SCRW S2
SB